﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using BusinessLayer.Interface;
using BusinessLayer.Facade;
using EntityLayer;
namespace PresentationLayer
{
    public partial class WebForm9 : System.Web.UI.Page
    {
        private String msg, titulo;
        private clsIFacadeCuadernoJudicialActualizar FacadeCuadernoJudicial;
        private IEnumerable<Object> listarLegajo = null;

        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!IsPostBack)
                {
                    ListarLegajos();
                    Session["coLegajo"] = "";
                }
            }
            catch (Exception)
            {
                throw;
            }
        }

        protected void dgLegajo_AfterPerformCallback(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewAfterPerformCallbackEventArgs e)
        {
            ListarLegajos();
        }

        protected void dgLegajo_PageIndexChanged(object sender, EventArgs e)
        {
            ListarLegajos();
        }

        protected void dgLegajo_HeaderFilterFillItems(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewHeaderFilterEventArgs e)
        {
            ListarLegajos();
        }

        protected void btnActualizarCuaderno_Click(object sender, EventArgs e)
        {
            if (!ObtenerDatos()) { return; }
            Response.Redirect("wfrmCuadernoJudicialActualizar.aspx", true);
        }

        #region Metodos
        private void ListarLegajos()
        {
            try
            {
                listarLegajo = new List<Object>();
                FacadeCuadernoJudicial = new clsFacadeCuadernoJudicialActualizar();
                listarLegajo = FacadeCuadernoJudicial.listarLegajos();

                if (listarLegajo == null || listarLegajo.Count() == 0) { return; }

                dgLegajo.DataSource = listarLegajo;
                dgLegajo.DataBind();
            }
            catch (Exception ex)
            {
                titulo = "ListarLegajos";
                MostrarComentario(ex.Message, titulo);
            }
        }
        private Boolean ObtenerDatos()
        {
            Boolean ok = true;
            msg = String.Empty;
            try
            {
                if (dgLegajo.FocusedRowIndex == -1)
                {
                    MostrarComentario("Debe seleccionar un PreLegajo");
                    ok = false;
                }
                if (ok)
                {
                    String CO_legajo = String.Empty;
                    CO_legajo = dgLegajo.GetRowValues(dgLegajo.FocusedRowIndex, "CO_legajo").ToString().Trim();
                    Session["coLegajo"] = CO_legajo;
                }
            }
            catch (Exception ex)
            {
                ok = false;
                titulo = "ObtenerDatos";
                MostrarComentario(ex.Message, titulo);
            }
            return ok;
        }

        private void MostrarComentario(String msg, String titulo = "Mensaje")
        {
            //lblMensaje.Text = msg;
            //pcMensaje.HeaderText = titulo;
            //pcMensaje.ShowOnPageLoad = true;
        }
        #endregion

        protected void btnConsultar_Click(object sender, EventArgs e)
        {
            String coLegajo = String.Empty;
            coLegajo = dgLegajo.GetRowValues(dgLegajo.FocusedRowIndex, "CO_legajo").ToString().Trim();
            Session["coLegajo"] = coLegajo;
            Session["op"] = "C";
            Response.Redirect("wfrmLegajoJudicialActualizar.aspx");
        }
    }
}